<!DOCTYPE html>
<html lang="en-US">
    <head>
        <title>Task::Kensho - A Glimpse at an Enlightened Perl - metacpan.org</title>
        <link rel="preload" as="fetch" href="https://metacpan.org/account/login_status" crossorigin="anonymous" />
        <link href="https://metacpan.org/_assets/b8ccceeed47a0652049703d99326a9cea4933443.css" rel="stylesheet" type="text/css">
        <script src="https://metacpan.org/_assets/6bfedafe2d7caa915b7d84f61b45936818e3242e.js" type="text/javascript" defer></script>
        <link rel="alternate" type="application/rss+xml" title="Recent CPAN Uploads of Task-Kensho - MetaCPAN" href="https://metacpan.org/dist/Task-Kensho/releases.rss" />
        <link rel="canonical" href="./Task::Kensho.html" />
        <meta name="description" content="A Glimpse at an Enlightened Perl" />
        <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=5">
        <link rel="shortcut icon" href="https://metacpan.org/static/icons/favicon.ico">
        <link rel="apple-touch-icon" sizes="152x152" href="https://metacpan.org/static/icons/apple-touch-icon.png">
        <link rel="search" href="https://metacpan.org/static/opensearch.xml" type="application/opensearchdescription+xml" title="MetaCPAN">
        <script>
          (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
          (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
          m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
          })(window,document,'script','//www.google-analytics.com/analytics.js','ga');

          (function(skey, ga_id){
            ga('create', ga_id, {
              siteSpeedSampleRate : 100,
              storage             : 'none',
              clientId            : localStorage.getItem(skey)
            });
            ga(function(tracker) {
              localStorage.setItem(skey, tracker.get('clientId'));
            });
            ga('send', 'pageview');
          })('ga:clientId', 'UA-27829474-1');
        </script>
<meta name="twitter:card"        content="summary" />
<meta name="twitter:url"         content="https://metacpan.org/pod/Task::Kensho" />
<meta name="twitter:title"       content="Task::Kensho" />
<meta name="twitter:description" content="A Glimpse at an Enlightened Perl" />
<meta name="twitter:site"        content="metacpan" />
    </head>
    <body>
        <nav class="navbar navbar-default" role="navigation">
            <div class="header-logo-large hidden-xs">
              <a href="https://metacpan.org/" tabindex="0">
                <svg class="logo" aria-label="MetaCPAN">
                  <use class="logo" href="/static/images/metacpan-logo.svg#logo" />
                </svg>
              </a>
            </div>
            <div class="header-logo-icon visible-xs">
              <a href="https://metacpan.org/">
                <svg class="logo" aria-label="MetaCPAN">
                  <use class="logo" href="/static/images/metacpan-logo.svg#dots" />
                </svg>
              </a>
            </div>
            <ul class="nav navbar-nav menu-items hidden-xs hidden-sm">
              <li><a href="https://metacpan.org/about">About</a></li>
              <li><a href="https://metacpan.org/about/sponsors">Sponsor</a></li>
              <li><a href="https://grep.metacpan.org/">grep::cpan</a></li>
              <li><a href="https://metacpan.org/recent">Recent</a></li>
              <li><a href="https://metacpan.org/about/faq">FAQ</a></li>
              <li><a href="https://metacpan.org/tools">Tools</a></li>
              <li><a href="https://fastapi.metacpan.org/">API</a></li>
            </ul>
            <ul class="nav navbar-nav navbar-right">
                <button type="button" class="searchbar-btn visible-xs visible-sm">
                    <i class="fa fa-search button-fa-icon"></i>
                </button>
                <form action="https://metacpan.org/search" class="searchbar-form visible-md visible-lg search-form form-horizontal">
                   <input type="hidden" name="size" id="metacpan_search-size" value="20">
                  <div class="form-group">
                      <div class="search-group">
                        <i class="fa fa-search"></i>
                        <input type="text" name="q" placeholder="Search the CPAN" size="41" autocorrect="off" autocapitalize="off" spellcheck="false" id="metacpan_search-input" class="form-control" value="">
                      </div>
                  </div>
                </form>
                    <li class="icon-slidepanel visible-xs visible-sm">
                      <button data-toggle="slidepanel" data-target=".slidepanel">
                        <span class="button-fa-icon">
                          <i class="fa fa-bars slidepanel-open"></i>
                          <i class="fa fa-times slidepanel-close"></i>
                        </span>
                      </button>
                    </li>
                <form action="https://metacpan.org/account/logout" method="POST" id="metacpan-logout"></form>
                <li class="dropdown logged_in" style="display: none;">
                    <button type="button" class="dropdown-toggle" data-toggle="dropdown">
                      <i class="fa fa-user button-fa-icon logged-in-icon" aria-hidden="true"></i>
                      <i class="fas fa-chevron-down"></i>
                    </button>
                    <ul class="dropdown-menu">
                        <li><a href="https://metacpan.org/account/identities">Identities</a></li>
                        <li><a href="https://metacpan.org/account/profile">Profile</a></li>
                        <li><a href="https://metacpan.org/account/favorite/list">Favorites</a></li>
                        <li>
                            <a href="./Task::Kensho.html#" type="button" onclick="$('#metacpan-logout').submit(); return false">
                              Logout
                            </a>
                        </li>
                    </ul>
                </li>
                <li class="dropdown logged_out" style="display: none;">
                    <button type="button" class="dropdown-toggle" data-toggle="dropdown">
                      <i class="fa fa-user button-fa-icon" aria-hidden="true"></i>
                      <i class="fas fa-chevron-down"></i>
                    </button>
                    <ul class="dropdown-menu">
                        <li>
                            <a href="https://metacpan.org/login/github">
                                <i class="fab fa-github fa-fw"></i>
                                GitHub
                            </a>
                        </li>
                        <li>
                            <a href="https://metacpan.org/login/twitter">
                                <i class="fab fa-twitter fa-fw"></i>
                                Twitter
                            </a>
                        </li>
                        <li>
                            <a href="https://metacpan.org/login/google">
                                <i class="fab fa-google fa-fw"></i>
                                Google
                            </a>
                        </li>
                    </ul>
                </li>
                <li class="dropdown logged_placeholder">
                    <button>
                      <i class="fa fa-user button-fa-icon" aria-hidden="true"></i>
                    </button>
                </li>
            </ul>
        </nav>
        <div class="page-content ">
          <!--
          <div class="top-notify-banner">
            <i class="fas fa-info-circle"></i>
          </div>
          -->
          <nav class="sidebar">
            <div class="slidepanel">
              <ul class="nav-list ">
    <li class="nav-header no-margin-top">
      <div class="ttip" data-toggle="tooltip" data-placement="bottom" title="The date that this version of Task-Kensho was released.">
      <span class="relatize">03 Jul 2021 03:40:21 UTC</span>
    </li>
  <li>
    Distribution: <a href="https://metacpan.org/dist/Task-Kensho">Task-Kensho</a>
  </li>
  <li>
    Module version: 0.41
  </li>
  <li>
    <a data-keyboard-shortcut="g s" href="https://metacpan.org/dist/Task-Kensho/source/lib/Task/Kensho.pm">Source</a>
    (<a href="https://metacpan.org/dist/Task-Kensho/source/lib/Task/Kensho.pm?raw=1">raw</a>)
  </li>
  <li>
    <a data-keyboard-shortcut="g b" href="https://metacpan.org/dist/Task-Kensho/source/lib/Task">Browse</a>
    (<a href="https://metacpan.org/dist/Task-Kensho/source/lib/Task?raw=1">raw</a>)
  </li>
    <li>
      <a data-keyboard-shortcut="g c" href="https://metacpan.org/dist/Task-Kensho/changes">Changes</a>
    </li>
    <li>
      <a rel="noopener nofollow" class="nopopup" href="https://github.com/EnlightenedPerlOrganisation/task-kensho">Homepage</a>
    </li>
    <li>
      <a class="nopopup" href="https://metacpan.org/dist/Task-Kensho/contribute">How to Contribute</a>
    </li>
    <li>
        <a rel="noopener nofollow" data-keyboard-shortcut="g r" href="https://github.com/EnlightenedPerlOrganisation/task-kensho">Repository</a>
    </li>
    <li>
      <a rel="noopener nofollow" data-keyboard-shortcut="g i" href="https://github.com/EnlightenedPerlOrganisation/task-kensho/issues">Issues</a>
      (22)
    </li>
    <li>
      <a rel="noopener nofollow" href="http://matrix.cpantesters.org/?dist=Task-Kensho+0.41" title="Matrix">Testers</a>
        <span title="(pass / fail / na)">(<a rel="noopener nofollow" href="https://www.cpantesters.org/distro/T/Task-Kensho.html?oncpan=1&amp;distmat=1&amp;version=0.41&amp;grade=2" style="color: #090">90</a> / <a rel="noopener nofollow" href="https://www.cpantesters.org/distro/T/Task-Kensho.html?oncpan=1&amp;distmat=1&amp;version=0.41&amp;grade=3" style="color: #900">0</a> / <a rel="noopener nofollow" href="https://www.cpantesters.org/distro/T/Task-Kensho.html?oncpan=1&amp;distmat=1&amp;version=0.41&amp;grade=4">0</a>)</span>
    </li>
    <li>
      <a rel="noopener nofollow" href="http://cpants.cpanauthors.org/release/ETHER/Task-Kensho-0.41">Kwalitee</a>
    </li>
    <li>
      <div class="ttip" data-toggle="tooltip" data-placement="bottom" title="The # people with an indexing permission on Task-Kensho who have released something to CPAN in the last 2 years (i.e. the # people likely able to release critical fixes in a timely manner)">
      Bus factor: 2
      </div>
    </li>
    <li>
      <a rel="noopener nofollow" href="http://cpancover.com/latest/Task-Kensho-0.41/index.html">% Coverage </a>
    </li>
    <li>
      License: perl_5
    </li>
    <li>
      Perl: v5.6.0
    </li>
    <li class="chat-banner">
      <div><a rel="noopener nofollow" target="_blank" href="https://kiwiirc.com/nextclient/#irc://irc.perl.org/#epo?nick=mc-guest-?">Chat with us!</a></div>
    </li>
    <li class="nav-header">Activity</li>
    <li>
<div class="activity-graph">
    <img src="https://metacpan.org/dist/Task-Kensho/activity.svg?res=month" />
    <div class="comment">24 month</div>
</div>
    </li>
    <li class="nav-header">Tools</li>
    <li>
      <a itemprop="downloadUrl" href="https://cpan.metacpan.org/authors/id/E/ET/ETHER/Task-Kensho-0.41.tar.gz">
      Download (<span itemprop="fileSize">35.42KB</span>)</a>
    </li>
    <li>
      <a href="https://explorer.metacpan.org/?url=%2Fmodule%2FETHER%2FTask-Kensho-0.41%2Flib%2FTask%2FKensho.pm">
        MetaCPAN Explorer
      </a>
    </li>
    <li>
      <a href="https://metacpan.org/dist/Task-Kensho/permissions">
        Permissions
      </a>
    </li>
    <li>
      <a href="https://metacpan.org/dist/Task-Kensho/releases.rss">
        Subscribe to distribution
      </a>
    </li>
    <li>
      <button class="btn btn-link" data-toggle="modal" data-target="#metacpan_install-instructions-dialog">
        Install Instructions
      </button>
    </li>
    <li>
      <form action="https://metacpan.org/search">
        <input type="hidden" name="q" value="dist:Task-Kensho">
        <input type="search" name="q" placeholder="Search distribution" class="form-control tool-bar-form">
        <input type="submit" style="display: none">
      </form>
    </li>
    <li>
      <form action="https://grep.metacpan.org/search">
        <input type="hidden" name="qd" value="Task-Kensho">
        <input type="hidden" name="source" value="metacpan">
        <input type="search" name="q" placeholder="grep distribution" class="form-control tool-bar-form">
        <input type="submit" style="display: none">
     </form>
    </li>
    <li class="version-jump">
<select onchange="document.location.href=&#39;/release/&#39;+this.value+&#39;/view/lib/Task/Kensho.pm&#39;" class="form-control tool-bar-form">
  <option disabled selected>Jump to version</option>
<option
  disabled
  value="ETHER/Task-Kensho-0.41"
>0.41
  (ETHER on 2021-07-03)</option>
<option
  
  value="ETHER/Task-Kensho-0.40"
>0.40
  (ETHER on 2018-12-01)</option>
<option
  
  value="APEIRON/Task-Kensho-0.31"
>0.31
  (APEIRON on 2011-04-11)</option>
<option
  
  value="APEIRON/Task-Kensho-0.30"
>0.30
  (APEIRON on 2011-04-11)</option>
<option
  
  value="APEIRON/Task-Kensho-0.29"
>0.29
  (APEIRON on 2011-03-26)</option>
<option
  
  value="APEIRON/Task-Kensho-0.28"
>0.28
  (APEIRON on 2011-01-23)</option>
<option
  
  value="APEIRON/Task-Kensho-0.27"
>0.27
  (APEIRON on 2011-01-20)</option>
<option
  
  value="APEIRON/Task-Kensho-0.26"
>0.26
  (APEIRON on 2010-10-24)</option>
<option
  
  value="APEIRON/Task-Kensho-0.25"
>0.25
  (APEIRON on 2010-09-20)</option>
<option
  
  value="APEIRON/Task-Kensho-0.24"
>0.24
  (APEIRON on 2010-08-26)</option>
<option
  
  value="APEIRON/Task-Kensho-0.23"
>0.23
  (APEIRON on 2010-07-20)</option>
<optgroup label="BackPAN">'
<option
  
  value="ETHER/Task-Kensho-0.39"
>0.39
  (ETHER on 2016-05-14)</option>
<option
  
  value="ETHER/Task-Kensho-0.38"
>0.38
  (ETHER on 2014-09-13)</option>
<option
  
  value="ETHER/Task-Kensho-0.37"
>0.37
  (ETHER on 2014-08-16)</option>
<option
  
  value="ETHER/Task-Kensho-0.36"
>0.36
  (ETHER on 2014-03-08)</option>
<option
  
  value="ETHER/Task-Kensho-0.35"
>0.35
  (ETHER on 2014-01-30)</option>
<option
  
  value="ETHER/Task-Kensho-0.34004-TRIAL"
>0.34004-TRIAL DEV
  (ETHER on 2014-01-22)</option>
<option
  
  value="ETHER/Task-Kensho-0.34003-TRIAL"
>0.34003-TRIAL DEV
  (ETHER on 2014-01-22)</option>
<option
  
  value="ETHER/Task-Kensho-0.34003"
>0.34003
  (ETHER on 2014-01-22)</option>
<option
  
  value="ETHER/Task-Kensho-0.34002-TRIAL"
>0.34002-TRIAL DEV
  (ETHER on 2014-01-21)</option>
<option
  
  value="ETHER/Task-Kensho-0.34001-TRIAL"
>0.34001-TRIAL DEV
  (ETHER on 2014-01-21)</option>
<option
  
  value="ETHER/Task-Kensho-0.34-TRIAL"
>0.34-TRIAL DEV
  (ETHER on 2013-08-20)</option>
<option
  
  value="ETHER/Task-Kensho-0.33"
>0.33
  (ETHER on 2012-06-24)</option>
<option
  
  value="ETHER/Task-Kensho-0.32"
>0.32
  (ETHER on 2012-06-08)</option>
<option
  
  value="PERIGRIN/Task-Kensho-0.22"
>0.22
  (PERIGRIN on 2010-04-21)</option>
<option
  
  value="PERIGRIN/Task-Kensho-0.21"
>0.21
  (PERIGRIN on 2010-02-21)</option>
<option
  
  value="PERIGRIN/Task-Kensho-0.20"
>0.20
  (PERIGRIN on 2010-01-20)</option>
<option
  
  value="PERIGRIN/Task-Kensho-0.19"
>0.19
  (PERIGRIN on 2009-12-29)</option>
<option
  
  value="PERIGRIN/Task-Kensho-0.18"
>0.18
  (PERIGRIN on 2009-11-19)</option>
<option
  
  value="PERIGRIN/Task-Kensho-0.17"
>0.17
  (PERIGRIN on 2009-08-28)</option>
<option
  
  value="PERIGRIN/Task-Kensho-0.16"
>0.16
  (PERIGRIN on 2009-08-28)</option>
<option
  
  value="PERIGRIN/Task-Kensho-0.15"
>0.15
  (PERIGRIN on 2009-07-26)</option>
<option
  
  value="PERIGRIN/Task-Kensho-0.14"
>0.14
  (PERIGRIN on 2009-07-16)</option>
<option
  
  value="PERIGRIN/Task-Kensho-0.13"
>0.13
  (PERIGRIN on 2009-07-02)</option>
<option
  
  value="PERIGRIN/Task-Kensho-0.12"
>0.12
  (PERIGRIN on 2009-06-23)</option>
<option
  
  value="PERIGRIN/Task-Kensho-0.11"
>0.11
  (PERIGRIN on 2009-05-25)</option>
<option
  
  value="PERIGRIN/Task-Kensho-0.10"
>0.10
  (PERIGRIN on 2009-05-24)</option>
<option
  
  value="PERIGRIN/Task-Kensho-0.09"
>0.09
  (PERIGRIN on 2009-05-14)</option>
<option
  
  value="PERIGRIN/Task-Kensho-0.0.8"
>0.0.8
  (PERIGRIN on 2009-01-28)</option>
<option
  
  value="PERIGRIN/Task-Kensho-0.0.7"
>0.0.7
  (PERIGRIN on 2008-12-13)</option>
<option
  
  value="PERIGRIN/Task-Kensho-0.0.6"
>0.0.6
  (PERIGRIN on 2008-12-12)</option>
<option
  
  value="PERIGRIN/Task-Kensho-0.0.5"
>0.0.5
  (PERIGRIN on 2008-12-12)</option>
<option
  
  value="PERIGRIN/Task-Kensho-0.0.4"
>0.0.4
  (PERIGRIN on 2008-09-28)</option>
<option
  
  value="PERIGRIN/Task-Kensho-0.0.3"
>0.0.3
  (PERIGRIN on 2008-09-28)</option>
<option
  
  value="PERIGRIN/Task-Kensho-0.0.2"
>0.0.2
  (PERIGRIN on 2008-09-24)</option>
<option
  
  value="PERIGRIN/Task-Kensho-0.0.1"
>0.0.1
  (PERIGRIN on 2008-09-05)</option>
</optgroup>
</select>
    </li>
    <li class="version-diff">
<select onchange="document.location.href='/release/ETHER/Task-Kensho-0.41/diff/' + encodeURIComponent(this.value) + '/lib/Task/Kensho.pm'
" class="form-control tool-bar-form">
  <option disabled selected>Diff with version</option>
<option
  disabled
  value="ETHER/Task-Kensho-0.41"
>0.41
  (ETHER on 2021-07-03)</option>
<option
  
  value="ETHER/Task-Kensho-0.40"
>0.40
  (ETHER on 2018-12-01)</option>
<option
  
  value="APEIRON/Task-Kensho-0.31"
>0.31
  (APEIRON on 2011-04-11)</option>
<option
  
  value="APEIRON/Task-Kensho-0.30"
>0.30
  (APEIRON on 2011-04-11)</option>
<option
  
  value="APEIRON/Task-Kensho-0.29"
>0.29
  (APEIRON on 2011-03-26)</option>
<option
  
  value="APEIRON/Task-Kensho-0.28"
>0.28
  (APEIRON on 2011-01-23)</option>
<option
  
  value="APEIRON/Task-Kensho-0.27"
>0.27
  (APEIRON on 2011-01-20)</option>
<option
  
  value="APEIRON/Task-Kensho-0.26"
>0.26
  (APEIRON on 2010-10-24)</option>
<option
  
  value="APEIRON/Task-Kensho-0.25"
>0.25
  (APEIRON on 2010-09-20)</option>
<option
  
  value="APEIRON/Task-Kensho-0.24"
>0.24
  (APEIRON on 2010-08-26)</option>
<option
  
  value="APEIRON/Task-Kensho-0.23"
>0.23
  (APEIRON on 2010-07-20)</option>
<optgroup label="BackPAN">'
<option
  
  value="ETHER/Task-Kensho-0.39"
>0.39
  (ETHER on 2016-05-14)</option>
<option
  
  value="ETHER/Task-Kensho-0.38"
>0.38
  (ETHER on 2014-09-13)</option>
<option
  
  value="ETHER/Task-Kensho-0.37"
>0.37
  (ETHER on 2014-08-16)</option>
<option
  
  value="ETHER/Task-Kensho-0.36"
>0.36
  (ETHER on 2014-03-08)</option>
<option
  
  value="ETHER/Task-Kensho-0.35"
>0.35
  (ETHER on 2014-01-30)</option>
<option
  
  value="ETHER/Task-Kensho-0.34004-TRIAL"
>0.34004-TRIAL DEV
  (ETHER on 2014-01-22)</option>
<option
  
  value="ETHER/Task-Kensho-0.34003-TRIAL"
>0.34003-TRIAL DEV
  (ETHER on 2014-01-22)</option>
<option
  
  value="ETHER/Task-Kensho-0.34003"
>0.34003
  (ETHER on 2014-01-22)</option>
<option
  
  value="ETHER/Task-Kensho-0.34002-TRIAL"
>0.34002-TRIAL DEV
  (ETHER on 2014-01-21)</option>
<option
  
  value="ETHER/Task-Kensho-0.34001-TRIAL"
>0.34001-TRIAL DEV
  (ETHER on 2014-01-21)</option>
<option
  
  value="ETHER/Task-Kensho-0.34-TRIAL"
>0.34-TRIAL DEV
  (ETHER on 2013-08-20)</option>
<option
  
  value="ETHER/Task-Kensho-0.33"
>0.33
  (ETHER on 2012-06-24)</option>
<option
  
  value="ETHER/Task-Kensho-0.32"
>0.32
  (ETHER on 2012-06-08)</option>
<option
  
  value="PERIGRIN/Task-Kensho-0.22"
>0.22
  (PERIGRIN on 2010-04-21)</option>
<option
  
  value="PERIGRIN/Task-Kensho-0.21"
>0.21
  (PERIGRIN on 2010-02-21)</option>
<option
  
  value="PERIGRIN/Task-Kensho-0.20"
>0.20
  (PERIGRIN on 2010-01-20)</option>
<option
  
  value="PERIGRIN/Task-Kensho-0.19"
>0.19
  (PERIGRIN on 2009-12-29)</option>
<option
  
  value="PERIGRIN/Task-Kensho-0.18"
>0.18
  (PERIGRIN on 2009-11-19)</option>
<option
  
  value="PERIGRIN/Task-Kensho-0.17"
>0.17
  (PERIGRIN on 2009-08-28)</option>
<option
  
  value="PERIGRIN/Task-Kensho-0.16"
>0.16
  (PERIGRIN on 2009-08-28)</option>
<option
  
  value="PERIGRIN/Task-Kensho-0.15"
>0.15
  (PERIGRIN on 2009-07-26)</option>
<option
  
  value="PERIGRIN/Task-Kensho-0.14"
>0.14
  (PERIGRIN on 2009-07-16)</option>
<option
  
  value="PERIGRIN/Task-Kensho-0.13"
>0.13
  (PERIGRIN on 2009-07-02)</option>
<option
  
  value="PERIGRIN/Task-Kensho-0.12"
>0.12
  (PERIGRIN on 2009-06-23)</option>
<option
  
  value="PERIGRIN/Task-Kensho-0.11"
>0.11
  (PERIGRIN on 2009-05-25)</option>
<option
  
  value="PERIGRIN/Task-Kensho-0.10"
>0.10
  (PERIGRIN on 2009-05-24)</option>
<option
  
  value="PERIGRIN/Task-Kensho-0.09"
>0.09
  (PERIGRIN on 2009-05-14)</option>
<option
  
  value="PERIGRIN/Task-Kensho-0.0.8"
>0.0.8
  (PERIGRIN on 2009-01-28)</option>
<option
  
  value="PERIGRIN/Task-Kensho-0.0.7"
>0.0.7
  (PERIGRIN on 2008-12-13)</option>
<option
  
  value="PERIGRIN/Task-Kensho-0.0.6"
>0.0.6
  (PERIGRIN on 2008-12-12)</option>
<option
  
  value="PERIGRIN/Task-Kensho-0.0.5"
>0.0.5
  (PERIGRIN on 2008-12-12)</option>
<option
  
  value="PERIGRIN/Task-Kensho-0.0.4"
>0.0.4
  (PERIGRIN on 2008-09-28)</option>
<option
  
  value="PERIGRIN/Task-Kensho-0.0.3"
>0.0.3
  (PERIGRIN on 2008-09-28)</option>
<option
  
  value="PERIGRIN/Task-Kensho-0.0.2"
>0.0.2
  (PERIGRIN on 2008-09-24)</option>
<option
  
  value="PERIGRIN/Task-Kensho-0.0.1"
>0.0.1
  (PERIGRIN on 2008-09-05)</option>
</optgroup>
</select>
    </li>

    <li>
<ul class="dependencies">
  <li class="nav-header">Dependencies</li>
  <li><a href="https://metacpan.org/pod/strict" title="strict" class="ellipsis">strict</a></li>
  <li><a href="https://metacpan.org/pod/warnings" title="warnings" class="ellipsis">warnings</a></li>
  <li><i class="ttip" title="dynamic_config enabled">and possibly others</i></li>
  <li>
    <hr>
  </li>
  <li>
    <a href="https://metacpan.org/module/Task::Kensho/requires">Reverse dependencies</a>
  </li>
  <li>
    <a href="http://deps.cpantesters.org/?module=Task%3A%3AKensho">CPAN Testers List</a>
  </li>
  <li>
    <a href="https://cpandeps.grinnz.com/?dist=Task-Kensho">Dependency graph</a>
  </li>
</ul>
    </li>
    <li class="nav-header">Permalinks</li>
    <li>
      <a href="https://metacpan.org/release/ETHER/Task-Kensho-0.41/view/lib/Task/Kensho.pm">This version</a>
    </li>
    <li>
      <a href="./Task::Kensho.html">Latest version</a>
    </li>
    <li>
<div class="plussers">
<div class="nav-header">++ed by:</div>
<div>
<a class="display-all" href="https://metacpan.org/author/PINGAN"><img src="https://www.gravatar.com/avatar/a02222e5e0e4fd24d52fc29a08ac6bcb?d=identicon&amp;s=20" title="PINGAN" alt="PINGAN"></a>
<a class="display-all" href="https://metacpan.org/author/ZOFFIX"><img src="https://www.gravatar.com/avatar/627d83ef9879f31bdabf448e666a32d5?d=identicon&amp;s=20" title="ZOFFIX" alt="ZOFFIX"></a>
<a class="display-all" href="https://metacpan.org/author/CHANKEY"><img src="https://www.gravatar.com/avatar/5e3dc77d6818da1eba913fe7f3fed8ce?d=identicon&amp;s=20" title="CHANKEY" alt="CHANKEY"></a>
<a class="display-all" href="https://metacpan.org/author/BINJOY"><img src="https://www.gravatar.com/avatar/fd4de3b71caea7fa4b305ad108e999e0?d=identicon&amp;s=20" title="BINJOY" alt="BINJOY"></a>
<a class="display-all" href="https://metacpan.org/author/RWP"><img src="https://www.gravatar.com/avatar/7110eb2389e69a066d9d7cad7a1cc2bf?d=identicon&amp;s=20" title="RWP" alt="RWP"></a>
</div>
<!-- Display counts of plussers-->
<div>
    <a href="https://metacpan.org/dist/Task-Kensho/plussers">47 PAUSE users</a>
</div>
<div>
    69 non-PAUSE users
</div>
</div>
    </li>
    <li>
<div id="metacpan_contributors">
  <div>
    <button class="btn-link"
      onclick="$(this).hide(); $('#metacpan_contributors ul').slideDown(); return false;"
    >and 12 contributors</button>
  </div>
  <ul style="display: none">
    <li class="contributor"
      data-cpan-author="PERIGRIN"
      data-contrib-email="chris@prather.org"
    >
      <a href="https://metacpan.org/author/PERIGRIN" class="cpan-author">
      <img class="gravatar" width="20" height="20" src="https://www.gravatar.com/avatar/d3103c7c7366bf63e22299fd36a7ec2c?d=identicon&amp;s=20" />
      Chris Prather
      </a>
    </li>
    <li class="contributor"
      data-cpan-author="APEIRON"
      data-contrib-email="apeiron@cpan.org"
    >
      <a href="https://metacpan.org/author/APEIRON" class="cpan-author">
      <img class="gravatar" width="20" height="20" src="https://www.gravatar.com/avatar/1a6af1c09654c59259d1ed6b08109970?d=identicon&amp;s=20" />
      Chris Nehren
      </a>
    </li>
    <li class="contributor"
      data-contrib-email="leo@cuckoo.org"
    >
      <img class="gravatar" width="20" height="20" src="https://www.gravatar.com/avatar/d41d8cd98f00b204e9800998ecf8427e?d=identicon&amp;s=20" />
      Leo Lapworth
    </li>
    <li class="contributor"
      data-contrib-email="grinnz@grinnz.com grinnz@gmail.com"
    >
      <img class="gravatar" width="20" height="20" src="https://www.gravatar.com/avatar/d41d8cd98f00b204e9800998ecf8427e?d=identicon&amp;s=20" />
      Dan Book
    </li>
    <li class="contributor"
      data-cpan-author="MANWAR"
      data-contrib-email="mohammad.anwar@yahoo.com"
    >
      <a href="https://metacpan.org/author/MANWAR" class="cpan-author">
      <img class="gravatar" width="20" height="20" src="https://www.gravatar.com/avatar/71c853edf567f3482e0e7f21d51e9df2?d=identicon&amp;s=20" />
      Mohammad S Anwar
      </a>
    </li>
    <li class="contributor"
      data-contrib-email="olaf@wundersolutions.com"
    >
      <img class="gravatar" width="20" height="20" src="https://www.gravatar.com/avatar/d41d8cd98f00b204e9800998ecf8427e?d=identicon&amp;s=20" />
      Olaf Alders
    </li>
    <li class="contributor"
      data-contrib-email="rkellyalso@gmail.com"
    >
      <img class="gravatar" width="20" height="20" src="https://www.gravatar.com/avatar/d41d8cd98f00b204e9800998ecf8427e?d=identicon&amp;s=20" />
      Rachel Kelly
    </li>
    <li class="contributor"
      data-contrib-email="shawn@coloredblocks.com"
    >
      <img class="gravatar" width="20" height="20" src="https://www.gravatar.com/avatar/d41d8cd98f00b204e9800998ecf8427e?d=identicon&amp;s=20" />
      Shawn Sorichetti
    </li>
    <li class="contributor"
      data-contrib-email="whatson@gmail.com"
    >
      <img class="gravatar" width="20" height="20" src="https://www.gravatar.com/avatar/d41d8cd98f00b204e9800998ecf8427e?d=identicon&amp;s=20" />
      Andrew Whatson
    </li>
    <li class="contributor"
      data-cpan-author="FLORA"
      data-contrib-email="rafl@debian.org"
    >
      <a href="https://metacpan.org/author/FLORA" class="cpan-author">
      <img class="gravatar" width="20" height="20" src="https://www.gravatar.com/avatar/fd2bdaaefe41908133793d1ddf38f75d?d=identicon&amp;s=20" />
      Florian Ragwitz
      </a>
    </li>
    <li class="contributor"
      data-contrib-email="rleir@leirtech.com"
    >
      <img class="gravatar" width="20" height="20" src="https://www.gravatar.com/avatar/d41d8cd98f00b204e9800998ecf8427e?d=identicon&amp;s=20" />
      Rick Leir
    </li>
    <li class="contributor"
      data-contrib-email="cpan2@tinita.de"
    >
      <img class="gravatar" width="20" height="20" src="https://www.gravatar.com/avatar/d41d8cd98f00b204e9800998ecf8427e?d=identicon&amp;s=20" />
      Tina Müller
    </li>
  </ul>
</div>
    </li>
              </ul>
            </div>
          </nav>
          <div class="content-navigation">
<div class="breadcrumbs">
  <span>
    <a data-keyboard-shortcut="g a" rel="author" href="https://metacpan.org/author/ETHER" class="author-name">Karen Etheridge 🐾 🌋🦑🇹🇼🇭🇰🇺🇦</a>
  </span>
  <span>&nbsp;/&nbsp;</span>
  <div class="release dist-release status-latest maturity-released">
    <span class="dropdown"><b class="caret"></b></span>
<select onchange="document.location.href=&#39;/release/&#39;+this.value+&#39;/view/lib/Task/Kensho.pm&#39;" class="">
<option
  selected
  value="ETHER/Task-Kensho-0.41"
>0.41
  (ETHER on 2021-07-03)</option>
<option
  
  value="ETHER/Task-Kensho-0.40"
>0.40
  (ETHER on 2018-12-01)</option>
<option
  
  value="APEIRON/Task-Kensho-0.31"
>0.31
  (APEIRON on 2011-04-11)</option>
<option
  
  value="APEIRON/Task-Kensho-0.30"
>0.30
  (APEIRON on 2011-04-11)</option>
<option
  
  value="APEIRON/Task-Kensho-0.29"
>0.29
  (APEIRON on 2011-03-26)</option>
<option
  
  value="APEIRON/Task-Kensho-0.28"
>0.28
  (APEIRON on 2011-01-23)</option>
<option
  
  value="APEIRON/Task-Kensho-0.27"
>0.27
  (APEIRON on 2011-01-20)</option>
<option
  
  value="APEIRON/Task-Kensho-0.26"
>0.26
  (APEIRON on 2010-10-24)</option>
<option
  
  value="APEIRON/Task-Kensho-0.25"
>0.25
  (APEIRON on 2010-09-20)</option>
<option
  
  value="APEIRON/Task-Kensho-0.24"
>0.24
  (APEIRON on 2010-08-26)</option>
<option
  
  value="APEIRON/Task-Kensho-0.23"
>0.23
  (APEIRON on 2010-07-20)</option>
<optgroup label="BackPAN">'
<option
  
  value="ETHER/Task-Kensho-0.39"
>0.39
  (ETHER on 2016-05-14)</option>
<option
  
  value="ETHER/Task-Kensho-0.38"
>0.38
  (ETHER on 2014-09-13)</option>
<option
  
  value="ETHER/Task-Kensho-0.37"
>0.37
  (ETHER on 2014-08-16)</option>
<option
  
  value="ETHER/Task-Kensho-0.36"
>0.36
  (ETHER on 2014-03-08)</option>
<option
  
  value="ETHER/Task-Kensho-0.35"
>0.35
  (ETHER on 2014-01-30)</option>
<option
  
  value="ETHER/Task-Kensho-0.34004-TRIAL"
>0.34004-TRIAL DEV
  (ETHER on 2014-01-22)</option>
<option
  
  value="ETHER/Task-Kensho-0.34003-TRIAL"
>0.34003-TRIAL DEV
  (ETHER on 2014-01-22)</option>
<option
  
  value="ETHER/Task-Kensho-0.34003"
>0.34003
  (ETHER on 2014-01-22)</option>
<option
  
  value="ETHER/Task-Kensho-0.34002-TRIAL"
>0.34002-TRIAL DEV
  (ETHER on 2014-01-21)</option>
<option
  
  value="ETHER/Task-Kensho-0.34001-TRIAL"
>0.34001-TRIAL DEV
  (ETHER on 2014-01-21)</option>
<option
  
  value="ETHER/Task-Kensho-0.34-TRIAL"
>0.34-TRIAL DEV
  (ETHER on 2013-08-20)</option>
<option
  
  value="ETHER/Task-Kensho-0.33"
>0.33
  (ETHER on 2012-06-24)</option>
<option
  
  value="ETHER/Task-Kensho-0.32"
>0.32
  (ETHER on 2012-06-08)</option>
<option
  
  value="PERIGRIN/Task-Kensho-0.22"
>0.22
  (PERIGRIN on 2010-04-21)</option>
<option
  
  value="PERIGRIN/Task-Kensho-0.21"
>0.21
  (PERIGRIN on 2010-02-21)</option>
<option
  
  value="PERIGRIN/Task-Kensho-0.20"
>0.20
  (PERIGRIN on 2010-01-20)</option>
<option
  
  value="PERIGRIN/Task-Kensho-0.19"
>0.19
  (PERIGRIN on 2009-12-29)</option>
<option
  
  value="PERIGRIN/Task-Kensho-0.18"
>0.18
  (PERIGRIN on 2009-11-19)</option>
<option
  
  value="PERIGRIN/Task-Kensho-0.17"
>0.17
  (PERIGRIN on 2009-08-28)</option>
<option
  
  value="PERIGRIN/Task-Kensho-0.16"
>0.16
  (PERIGRIN on 2009-08-28)</option>
<option
  
  value="PERIGRIN/Task-Kensho-0.15"
>0.15
  (PERIGRIN on 2009-07-26)</option>
<option
  
  value="PERIGRIN/Task-Kensho-0.14"
>0.14
  (PERIGRIN on 2009-07-16)</option>
<option
  
  value="PERIGRIN/Task-Kensho-0.13"
>0.13
  (PERIGRIN on 2009-07-02)</option>
<option
  
  value="PERIGRIN/Task-Kensho-0.12"
>0.12
  (PERIGRIN on 2009-06-23)</option>
<option
  
  value="PERIGRIN/Task-Kensho-0.11"
>0.11
  (PERIGRIN on 2009-05-25)</option>
<option
  
  value="PERIGRIN/Task-Kensho-0.10"
>0.10
  (PERIGRIN on 2009-05-24)</option>
<option
  
  value="PERIGRIN/Task-Kensho-0.09"
>0.09
  (PERIGRIN on 2009-05-14)</option>
<option
  
  value="PERIGRIN/Task-Kensho-0.0.8"
>0.0.8
  (PERIGRIN on 2009-01-28)</option>
<option
  
  value="PERIGRIN/Task-Kensho-0.0.7"
>0.0.7
  (PERIGRIN on 2008-12-13)</option>
<option
  
  value="PERIGRIN/Task-Kensho-0.0.6"
>0.0.6
  (PERIGRIN on 2008-12-12)</option>
<option
  
  value="PERIGRIN/Task-Kensho-0.0.5"
>0.0.5
  (PERIGRIN on 2008-12-12)</option>
<option
  
  value="PERIGRIN/Task-Kensho-0.0.4"
>0.0.4
  (PERIGRIN on 2008-09-28)</option>
<option
  
  value="PERIGRIN/Task-Kensho-0.0.3"
>0.0.3
  (PERIGRIN on 2008-09-28)</option>
<option
  
  value="PERIGRIN/Task-Kensho-0.0.2"
>0.0.2
  (PERIGRIN on 2008-09-24)</option>
<option
  
  value="PERIGRIN/Task-Kensho-0.0.1"
>0.0.1
  (PERIGRIN on 2008-09-05)</option>
</optgroup>
</select>
    <a data-keyboard-shortcut="g d" class="release-name" href="https://metacpan.org/dist/Task-Kensho">Task-Kensho-0.41</a>
  </div>
<span class="river-gauge-gauge">
  <svg width="24px"
       height="15px"
       version="1.1"
       xmlns="http://www.w3.org/2000/svg"
       xmlns:xlink="http://www.w3.org/1999/xlink">

    <g>
      <title>        River stage one &#10;
          • 4 direct dependents &#10;          • 4 total dependents
      </title>

      <rect x="0"  y="0" width="4" height="15" fill="#7ea3f2" />
      <rect x="5"  y="0" width="4" height="15" fill="#e4e2e2" />
      <rect x="10"  y="0" width="4" height="15" fill="#e4e2e2" />
      <rect x="15"  y="0" width="4" height="15" fill="#e4e2e2" />
      <rect x="20"  y="0" width="4" height="15" fill="#e4e2e2" />
    </g>
  </svg>

</span>
<div id="Task-Kensho-fav" class="logged_in">
<form action="https://metacpan.org/account/favorite/add" style="display: inline" onsubmit="return favDistribution(this)">
    <input type="hidden" name="remove" value="0">
    <input type="hidden" name="release" value="Task-Kensho-0.41">
    <input type="hidden" name="author" value="ETHER">
    <input type="hidden" name="distribution" value="Task-Kensho">
    <button type="submit" class="favorite highlight"><span>116</span> ++</button>
</form>
</div>
<div class="logged_out">
<a href="./Task::Kensho.html" onclick="alert('Please sign in to add favorites'); return false" class="favorite highlight">
<span>116</span> ++</a>
</div>
   / <span>Task::Kensho</span>
</div>
          </div>
          <main class="content">


<nav class="toc">
  <div class="toc-header"><strong>Contents</strong></div>
<ul>
  <li><a href="./Task::Kensho.html#NAME">NAME</a></li>
  <li><a href="./Task::Kensho.html#VERSION">VERSION</a></li>
  <li><a href="./Task::Kensho.html#SYNOPSIS">SYNOPSIS</a></li>
  <li><a href="./Task::Kensho.html#DESCRIPTION">DESCRIPTION</a></li>
  <li><a href="./Task::Kensho.html#RECOMMENDED-MODULES">RECOMMENDED MODULES</a>
    <ul>
      <li><a href="./Task::Kensho.html#Task::Kensho::Async:-Async-Programming">Task::Kensho::Async: Async Programming</a></li>
      <li><a href="./Task::Kensho.html#Task::Kensho::CLI:-Useful-Command-line-Tools">Task::Kensho::CLI: Useful Command-line Tools</a></li>
      <li><a href="./Task::Kensho.html#Task::Kensho::Config:-Config-Modules">Task::Kensho::Config: Config Modules</a></li>
      <li><a href="./Task::Kensho.html#Task::Kensho::DBDev:-Database-Development">Task::Kensho::DBDev: Database Development</a></li>
      <li><a href="./Task::Kensho.html#Task::Kensho::Dates:-Date-Modules">Task::Kensho::Dates: Date Modules</a></li>
      <li><a href="./Task::Kensho.html#Task::Kensho::Email:-Email">Task::Kensho::Email: Email</a></li>
      <li><a href="./Task::Kensho.html#Task::Kensho::ExcelCSV:-Excel/CSV">Task::Kensho::ExcelCSV: Excel/CSV</a></li>
      <li><a href="./Task::Kensho.html#Task::Kensho::Exceptions:-Exception-Handling">Task::Kensho::Exceptions: Exception Handling</a></li>
      <li><a href="./Task::Kensho.html#Task::Kensho::Hackery:-Script-Hackery">Task::Kensho::Hackery: Script Hackery</a></li>
      <li><a href="./Task::Kensho.html#Task::Kensho::Logging:-Logging">Task::Kensho::Logging: Logging</a></li>
      <li><a href="./Task::Kensho.html#Task::Kensho::ModuleDev:-Module-Development">Task::Kensho::ModuleDev: Module Development</a></li>
      <li><a href="./Task::Kensho.html#Task::Kensho::OOP:-Object-Oriented-Programming">Task::Kensho::OOP: Object Oriented Programming</a></li>
      <li><a href="./Task::Kensho.html#Task::Kensho::Scalability:-Scalability">Task::Kensho::Scalability: Scalability</a></li>
      <li><a href="./Task::Kensho.html#Task::Kensho::Testing:-Testing">Task::Kensho::Testing: Testing</a></li>
      <li><a href="./Task::Kensho.html#Task::Kensho::Toolchain:-Basic-Toolchain">Task::Kensho::Toolchain: Basic Toolchain</a></li>
      <li><a href="./Task::Kensho.html#Task::Kensho::WebCrawling:-Web-Crawling">Task::Kensho::WebCrawling: Web Crawling</a></li>
      <li><a href="./Task::Kensho.html#Task::Kensho::WebDev:-Web-Development">Task::Kensho::WebDev: Web Development</a></li>
      <li><a href="./Task::Kensho.html#Task::Kensho::XML:-XML-Development">Task::Kensho::XML: XML Development</a></li>
    </ul>
  </li>
  <li><a href="./Task::Kensho.html#INSTALLING">INSTALLING</a></li>
  <li><a href="./Task::Kensho.html#LIMITATIONS">LIMITATIONS</a></li>
  <li><a href="./Task::Kensho.html#SEE-ALSO">SEE ALSO</a></li>
  <li><a href="./Task::Kensho.html#SUPPORT">SUPPORT</a></li>
  <li><a href="./Task::Kensho.html#AUTHOR">AUTHOR</a></li>
  <li><a href="./Task::Kensho.html#CONTRIBUTORS">CONTRIBUTORS</a></li>
  <li><a href="./Task::Kensho.html#COPYRIGHT-AND-LICENCE">COPYRIGHT AND LICENCE</a></li>
</ul></nav>
<div class="pod anchors">
<h1 id="NAME">NAME</h1>

<p>Task::Kensho - A Glimpse at an Enlightened Perl</p>

<h1 id="VERSION">VERSION</h1>

<p>version 0.41</p>

<h1 id="SYNOPSIS">SYNOPSIS</h1>

<pre><code>    &gt; cpanm --interactive Task::Kensho</code></pre>

<h1 id="DESCRIPTION">DESCRIPTION</h1>

<p><a href="./Task::Kensho.html">Task::Kensho</a> is a list of recommended, widely used and best-in-class modules for Enlightened Perl development. CPAN is wonderful, but there are too many wheels and you have to pick and choose amongst the various competing technologies.</p>

<p>From <a href="http://en.wikipedia.org/wiki/Kensho">http://en.wikipedia.org/wiki/Kensho</a>:</p>

<ul>

<p>Kensh&#x14D; (&#x898B;&#x6027;) (C. Wu) is a Japanese term for enlightenment experiences - most commonly used within the confines of Zen Buddhism - literally meaning &quot;seeing one&#39;s nature&quot;[1] or &quot;true self.&quot;[2] It generally &quot;refers to the realization of nonduality of subject and object.&quot;[3]</p>

</ul>

<p>The plan is for <a href="./Task::Kensho.html">Task::Kensho</a> to be a rough testing ground for ideas that go into among other things the Enlightened Perl Organisation Extended Core (EPO-EC).</p>

<p>The modules that are bundled by <a href="./Task::Kensho.html">Task::Kensho</a> are broken down into several categories and are still being considered. They are all taken from various top 100 most used perl modules lists and from discussions with various subject matter experts in the Perl Community. That said, this bundle does <i>not</i> follow the guidelines established for the EPO-EC for peer review via industry advisers.</p>

<p>Starting in 2011, <a href="./Task::Kensho.html">Task::Kensho</a> split its sub-groups of modules into individually-installable tasks. Each <a href="./Task::Kensho.html">Task::Kensho</a> sub-task is listed at the beginning of its section in this documentation.</p>

<p>When installing <a href="./Task::Kensho.html">Task::Kensho</a> itself, you will be asked to install each sub-task in turn, or you can install individual tasks separately. These individual tasks will always install all their modules by default. This facilitates the ease and simplicity the distribution aims to achieve.</p>

<h1 id="RECOMMENDED-MODULES"><a id="RECOMMENDED"></a>RECOMMENDED MODULES</h1>

<h2 id="Task::Kensho::Async:-Async-Programming"><a id="Task"></a><a href="https://metacpan.org/pod/Task::Kensho::Async">Task::Kensho::Async</a>: Async Programming</h2>

<dl>

<dt id="Future"><a href="https://metacpan.org/pod/Future">Future</a></dt>
<dd>

<p>represent an operation awaiting completion</p>

</dd>
<dt id="IO::Async"><a id="IO"></a><a href="https://metacpan.org/pod/IO::Async">IO::Async</a></dt>
<dd>

<p>Asynchronous event-driven programming</p>

</dd>
<dt id="MCE"><a href="https://metacpan.org/pod/MCE">MCE</a></dt>
<dd>

<p>Many-Core Engine for Perl providing parallel processing capabilities</p>

</dd>
<dt id="Mojo::IOLoop"><a id="Mojo"></a><a href="https://metacpan.org/pod/Mojo::IOLoop">Mojo::IOLoop</a></dt>
<dd>

<p>Minimalistic event loop</p>

</dd>
<dt id="POE"><a href="POE.html">POE</a></dt>
<dd>

<p>Multitasking and networking framework for Perl</p>

</dd>
<dt id="Parallel::ForkManager"><a id="Parallel"></a><a href="./Parallel::ForkManager.html">Parallel::ForkManager</a></dt>
<dd>

<p>A simple parallel processing fork manager</p>

</dd>
</dl>

<h2 id="Task::Kensho::CLI:-Useful-Command-line-Tools"><a id="Task1"></a><a href="https://metacpan.org/pod/Task::Kensho::CLI">Task::Kensho::CLI</a>: Useful Command-line Tools</h2>

<dl>

<dt id="App::Ack"><a id="App"></a><a href="https://metacpan.org/pod/App::Ack">App::Ack</a></dt>
<dd>

<p>A grep-like text finder</p>

</dd>
<dt id="App::Nopaste"><a id="App1"></a><a href="https://metacpan.org/pod/App::Nopaste">App::Nopaste</a></dt>
<dd>

<p>Easy access to any pastebin</p>

</dd>
<dt id="Module::CoreList"><a id="Module"></a><a href="https://metacpan.org/pod/Module::CoreList">Module::CoreList</a></dt>
<dd>

<p>What modules shipped with versions of perl</p>

</dd>
<dt id="Reply"><a href="https://metacpan.org/pod/Reply">Reply</a></dt>
<dd>

<p>reply - read, eval, print, loop, yay!</p>

</dd>
</dl>

<h2 id="Task::Kensho::Config:-Config-Modules"><a id="Task2"></a><a href="https://metacpan.org/pod/Task::Kensho::Config">Task::Kensho::Config</a>: Config Modules</h2>

<dl>

<dt id="Config::Any"><a id="Config"></a><a href="https://metacpan.org/pod/Config::Any">Config::Any</a></dt>
<dd>

<p>Load configuration from different file formats, transparently</p>

</dd>
<dt id="Config::General"><a id="Config1"></a><a href="https://metacpan.org/pod/Config::General">Config::General</a></dt>
<dd>

<p>Generic Config Module</p>

</dd>
<dt id="JSON::MaybeXS"><a id="JSON"></a><a href="./JSON::MaybeXS.html">JSON::MaybeXS</a></dt>
<dd>

<p>wrapper around the most current and fast JSON backends</p>

</dd>
</dl>

<h2 id="Task::Kensho::DBDev:-Database-Development"><a id="Task3"></a><a href="https://metacpan.org/pod/Task::Kensho::DBDev">Task::Kensho::DBDev</a>: Database Development</h2>

<dl>

<dt id="DBD::SQLite"><a id="DBD"></a><a href="https://metacpan.org/pod/DBD::SQLite">DBD::SQLite</a></dt>
<dd>

<p>Self Contained RDBMS in a DBI Driver</p>

</dd>
<dt id="DBI"><a href="DBI.html">DBI</a></dt>
<dd>

<p>Database independent interface for Perl</p>

</dd>
<dt id="DBIx::Class"><a id="DBIx"></a><a href="https://metacpan.org/pod/DBIx::Class">DBIx::Class</a></dt>
<dd>

<p>Extensible and flexible object &lt;-&gt; relational mapper.</p>

</dd>
<dt id="DBIx::Class::Schema::Loader"><a id="DBIx1"></a><a href="https://metacpan.org/pod/DBIx::Class::Schema::Loader">DBIx::Class::Schema::Loader</a></dt>
<dd>

<p>Dynamic definition of a DBIx::Class::Schema</p>

</dd>
<dt id="SQL::Translator"><a id="SQL"></a><a href="https://metacpan.org/pod/SQL::Translator">SQL::Translator</a></dt>
<dd>

<p>Manipulate structured data definitions (SQL and more)</p>

</dd>
</dl>

<h2 id="Task::Kensho::Dates:-Date-Modules"><a id="Task4"></a><a href="https://metacpan.org/pod/Task::Kensho::Dates">Task::Kensho::Dates</a>: Date Modules</h2>

<dl>

<dt id="DateTime"><a href="DateTime.html">DateTime</a></dt>
<dd>

<p>A date and time object</p>

</dd>
<dt id="Time::Moment"><a id="Time"></a><a href="https://metacpan.org/pod/Time::Moment">Time::Moment</a></dt>
<dd>

<p>A fast immutable object representing a date and time</p>

</dd>
<dt id="Time::ParseDate"><a id="Time1"></a><a href="https://metacpan.org/pod/Time::ParseDate">Time::ParseDate</a></dt>
<dd>

<p>Date parsing both relative and absolute</p>

</dd>
<dt id="Time::Piece"><a id="Time2"></a><a href="https://metacpan.org/pod/Time::Piece">Time::Piece</a></dt>
<dd>

<p>A date and time object based on localtime or gmtime</p>

</dd>
</dl>

<h2 id="Task::Kensho::Email:-Email"><a id="Task5"></a><a href="https://metacpan.org/pod/Task::Kensho::Email">Task::Kensho::Email</a>: Email</h2>

<dl>

<dt id="Email::MIME::Kit"><a id="Email"></a><a href="https://metacpan.org/pod/Email::MIME::Kit">Email::MIME::Kit</a></dt>
<dd>

<p>The Swiss army chainsaw of assembling email messages</p>

</dd>
<dt id="Email::Sender"><a id="Email1"></a><a href="https://metacpan.org/pod/Email::Sender">Email::Sender</a></dt>
<dd>

<p>A library for sending email</p>

</dd>
<dt id="Email::Simple"><a id="Email2"></a><a href="https://metacpan.org/pod/Email::Simple">Email::Simple</a></dt>
<dd>

<p>A <b>simple</b> email object. No, really!</p>

</dd>
<dt id="Email::Stuffer"><a id="Email3"></a><a href="./Email::Stuffer.html">Email::Stuffer</a></dt>
<dd>

<p>A more casual approach to creating and sending Email:: emails</p>

</dd>
<dt id="Email::Valid"><a id="Email4"></a><a href="./Email::Valid.html">Email::Valid</a></dt>
<dd>

<p>Check validity of Internet email addresses</p>

</dd>
</dl>

<h2 id="Task::Kensho::ExcelCSV:-Excel/CSV"><a id="Task6"></a><a id="Task::Kensho::ExcelCSV:-Excel-CSV"></a><a href="https://metacpan.org/pod/Task::Kensho::ExcelCSV">Task::Kensho::ExcelCSV</a>: Excel/CSV</h2>

<dl>

<dt id="Excel::Writer::XLSX"><a id="Excel"></a><a href="https://metacpan.org/pod/Excel::Writer::XLSX">Excel::Writer::XLSX</a></dt>
<dd>

<p>Create spreadsheets in the XLSX format</p>

</dd>
<dt id="Spreadsheet::Read"><a id="Spreadsheet"></a><a href="https://metacpan.org/pod/Spreadsheet::Read">Spreadsheet::Read</a></dt>
<dd>

<p>Read the data from a spreadsheet</p>

</dd>
<dt id="Spreadsheet::WriteExcel::Simple"><a id="Spreadsheet1"></a><a href="https://metacpan.org/pod/Spreadsheet::WriteExcel::Simple">Spreadsheet::WriteExcel::Simple</a></dt>
<dd>

<p>Create XLS documents easily</p>

</dd>
<dt id="Text::CSV_XS"><a id="Text"></a><a href="./Text::CSV_XS.html">Text::CSV_XS</a></dt>
<dd>

<p>Manipulate comma-separated values (CSV)</p>

</dd>
</dl>

<h2 id="Task::Kensho::Exceptions:-Exception-Handling"><a id="Task7"></a><a href="https://metacpan.org/pod/Task::Kensho::Exceptions">Task::Kensho::Exceptions</a>: Exception Handling</h2>

<dl>

<dt id="Syntax::Keyword::Try"><a id="Syntax"></a><a href="https://metacpan.org/pod/Syntax::Keyword::Try">Syntax::Keyword::Try</a></dt>
<dd>

<p>try/catch/finally with full syntax support for control statements</p>

</dd>
<dt id="Try::Tiny"><a id="Try"></a><a href="./Try::Tiny.html">Try::Tiny</a></dt>
<dd>

<p>Lightweight exception handling that handles the vagaries of $@.</p>

</dd>
<dt id="autodie"><a href="https://metacpan.org/pod/autodie">autodie</a></dt>
<dd>

<p>Make builtins and other functions die instead of returning undef on failure.</p>

</dd>
</dl>

<h2 id="Task::Kensho::Hackery:-Script-Hackery"><a id="Task8"></a><a href="https://metacpan.org/pod/Task::Kensho::Hackery">Task::Kensho::Hackery</a>: Script Hackery</h2>

<p>These packages are included less for production work and more for whippitupitude. They reflect packages that people have found incredibly useful for prototyping and debugging before reducing down to a production script.</p>

<dl>

<dt id="IO::All"><a id="IO1"></a><a href="https://metacpan.org/pod/IO::All">IO::All</a></dt>
<dd>

<p>IO::All combines all of the best Perl IO modules into a single nifty object oriented interface to greatly simplify your everyday Perl IO idioms.</p>

</dd>
<dt id="Smart::Comments"><a id="Smart"></a><a href="https://metacpan.org/pod/Smart::Comments">Smart::Comments</a></dt>
<dd>

<p>Comments that do more than just sit there</p>

</dd>
<dt id="Term::ProgressBar::Simple"><a id="Term"></a><a href="https://metacpan.org/pod/Term::ProgressBar::Simple">Term::ProgressBar::Simple</a></dt>
<dd>

<p>Simple progress bars</p>

</dd>
<dt id="ojo"><a href="https://metacpan.org/pod/ojo">ojo</a></dt>
<dd>

<p>Fun one-liners with Mojo</p>

</dd>
</dl>

<h2 id="Task::Kensho::Logging:-Logging"><a id="Task9"></a><a href="https://metacpan.org/pod/Task::Kensho::Logging">Task::Kensho::Logging</a>: Logging</h2>

<dl>

<dt id="Log::Any"><a id="Log"></a><a href="https://metacpan.org/pod/Log::Any">Log::Any</a></dt>
<dd>

<p>Bringing loggers and listeners together.</p>

</dd>
<dt id="Log::Contextual"><a id="Log1"></a><a href="https://metacpan.org/pod/Log::Contextual">Log::Contextual</a></dt>
<dd>

<p>Log::Contextual is a simple interface to extensible logging. It is bundled with a really basic logger, Log::Contextual::SimpleLogger.</p>

</dd>
<dt id="Log::Dispatch"><a id="Log2"></a><a href="./Log::Dispatch.html">Log::Dispatch</a></dt>
<dd>

<p>This module manages a set of Log::Dispatch::* output objects that can be logged to via a unified interface.</p>

</dd>
<dt id="Log::Log4perl"><a id="Log3"></a><a href="./Log::Log4perl.html">Log::Log4perl</a></dt>
<dd>

<p>Log::Log4perl lets you remote-control and fine-tune the logging behaviour of your system from the outside. It implements the widely popular (Java-based) Log4j logging package in pure Perl.</p>

</dd>
</dl>

<h2 id="Task::Kensho::ModuleDev:-Module-Development"><a id="Task10"></a><a href="https://metacpan.org/pod/Task::Kensho::ModuleDev">Task::Kensho::ModuleDev</a>: Module Development</h2>

<dl>

<dt id="CPAN::Uploader"><a id="CPAN"></a><a href="./CPAN::Uploader.html">CPAN::Uploader</a></dt>
<dd>

<p>Upload things to the CPAN</p>

</dd>
<dt id="Code::TidyAll"><a id="Code"></a><a href="https://metacpan.org/pod/Code::TidyAll">Code::TidyAll</a></dt>
<dd>

<p>Engine for tidyall, your all-in-one code tidier and validator</p>

</dd>
<dt id="Data::Printer"><a id="Data"></a><a href="https://metacpan.org/pod/Data::Printer">Data::Printer</a></dt>
<dd>

<p>Colored pretty-print of Perl data structures and objects</p>

</dd>
<dt id="Devel::Confess"><a id="Devel"></a><a href="https://metacpan.org/pod/Devel::Confess">Devel::Confess</a></dt>
<dd>

<p>Include stack traces on all warnings and errors</p>

</dd>
<dt id="Devel::Dwarn"><a id="Devel1"></a><a href="https://metacpan.org/pod/Devel::Dwarn">Devel::Dwarn</a></dt>
<dd>

<p>Combine warns and Data::Dumper::Concise</p>

</dd>
<dt id="Devel::NYTProf"><a id="Devel2"></a><a href="./Devel::NYTProf.html">Devel::NYTProf</a></dt>
<dd>

<p>Powerful feature-rich perl source code profiler</p>

</dd>
<dt id="Dist::Zilla"><a id="Dist"></a><a href="./Dist::Zilla.html">Dist::Zilla</a></dt>
<dd>

<p>Builds distributions of code to be uploaded to the CPAN.</p>

</dd>
<dt id="Modern::Perl"><a id="Modern"></a><a href="https://metacpan.org/pod/Modern::Perl">Modern::Perl</a></dt>
<dd>

<p>enable all of the features of Modern Perl with one command</p>

</dd>
<dt id="Module::Build::Tiny"><a id="Module1"></a><a href="./Module::Build::Tiny.html">Module::Build::Tiny</a></dt>
<dd>

<p>A simple, lightweight, drop-in replacement for ExtUtils::MakeMaker or Module::Build</p>

</dd>
<dt id="Perl::Critic"><a id="Perl"></a><a href="https://metacpan.org/pod/Perl::Critic">Perl::Critic</a></dt>
<dd>

<p>Critique Perl source code for best-practices.</p>

</dd>
<dt id="Perl::Tidy"><a id="Perl1"></a><a href="./Perl::Tidy.html">Perl::Tidy</a></dt>
<dd>

<p>Parses and beautifies perl source</p>

</dd>
<dt id="Pod::Readme"><a id="Pod"></a><a href="https://metacpan.org/pod/Pod::Readme">Pod::Readme</a></dt>
<dd>

<p>Convert POD to README file</p>

</dd>
<dt id="Software::License"><a id="Software"></a><a href="https://metacpan.org/pod/Software::License">Software::License</a></dt>
<dd>

<p>Packages that provide templated software licenses</p>

</dd>
</dl>

<h2 id="Task::Kensho::OOP:-Object-Oriented-Programming"><a id="Task11"></a><a href="https://metacpan.org/pod/Task::Kensho::OOP">Task::Kensho::OOP</a>: Object Oriented Programming</h2>

<dl>

<dt id="Moo"><a href="Moo.html">Moo</a></dt>
<dd>

<p>Minimalist Object Orientation (with Moose compatibility)</p>

</dd>
<dt id="Moose"><a href="Moose.html">Moose</a></dt>
<dd>

<p>a postmodern object system for Perl5 (see also Task::Moose for a larger list of Moose extensions)</p>

</dd>
<dt id="MooseX::Aliases"><a id="MooseX"></a><a href="https://metacpan.org/pod/MooseX::Aliases">MooseX::Aliases</a></dt>
<dd>

<p>easy aliasing of methods and attributes in Moose</p>

</dd>
<dt id="MooseX::Getopt"><a id="MooseX1"></a><a href="https://metacpan.org/pod/MooseX::Getopt">MooseX::Getopt</a></dt>
<dd>

<p>a Moose role for processing command line options</p>

</dd>
<dt id="MooseX::NonMoose"><a id="MooseX2"></a><a href="https://metacpan.org/pod/MooseX::NonMoose">MooseX::NonMoose</a></dt>
<dd>

<p>easy subclassing of non-Moose classes</p>

</dd>
<dt id="MooseX::Role::Parameterized"><a id="MooseX3"></a><a href="https://metacpan.org/pod/MooseX::Role::Parameterized">MooseX::Role::Parameterized</a></dt>
<dd>

<p>Moose roles with composition parameters</p>

</dd>
<dt id="MooseX::SimpleConfig"><a id="MooseX4"></a><a href="https://metacpan.org/pod/MooseX::SimpleConfig">MooseX::SimpleConfig</a></dt>
<dd>

<p>a Moose role for setting attributes from a simple configuration file</p>

</dd>
<dt id="MooseX::StrictConstructor"><a id="MooseX5"></a><a href="https://metacpan.org/pod/MooseX::StrictConstructor">MooseX::StrictConstructor</a></dt>
<dd>

<p>a Moose extension that makes your object constructors blow up on unknown attributes</p>

</dd>
<dt id="Package::Variant"><a id="Package"></a><a href="https://metacpan.org/pod/Package::Variant">Package::Variant</a></dt>
<dd>

<p>Parameterizable packages</p>

</dd>
<dt id="Type::Tiny"><a id="Type"></a><a href="https://metacpan.org/pod/Type::Tiny">Type::Tiny</a></dt>
<dd>

<p>tiny, yet Moo(se)-compatible type constraints</p>

</dd>
<dt id="namespace::autoclean"><a id="namespace"></a><a href="https://metacpan.org/pod/namespace::autoclean">namespace::autoclean</a></dt>
<dd>

<p>keep imports out of your namespace (Moose-aware)</p>

</dd>
</dl>

<h2 id="Task::Kensho::Scalability:-Scalability"><a id="Task12"></a><a href="https://metacpan.org/pod/Task::Kensho::Scalability">Task::Kensho::Scalability</a>: Scalability</h2>

<dl>

<dt id="CHI"><a href="https://metacpan.org/pod/CHI">CHI</a></dt>
<dd>

<p>A unified cache interface, like DBI</p>

</dd>
<dt id="Redis"><a href="https://metacpan.org/pod/Redis">Redis</a></dt>
<dd>

<p>Perl binding for Redis database</p>

</dd>
</dl>

<h2 id="Task::Kensho::Testing:-Testing"><a id="Task13"></a><a href="https://metacpan.org/pod/Task::Kensho::Testing">Task::Kensho::Testing</a>: Testing</h2>

<dl>

<dt id="Devel::Cover"><a id="Devel3"></a><a href="./Devel::Cover.html">Devel::Cover</a></dt>
<dd>

<p>Code coverage metrics for Perl</p>

</dd>
<dt id="Test2::Suite"><a id="Test2"></a><a href="./Test2::Suite.html">Test2::Suite</a></dt>
<dd>

<p>Distribution with a rich set of tools built upon the Test2 framework.</p>

</dd>
<dt id="Test::Deep"><a id="Test"></a><a href="./Test::Deep.html">Test::Deep</a></dt>
<dd>

<p>Test deep data structures</p>

</dd>
<dt id="Test::Fatal"><a id="Test1"></a><a href="https://metacpan.org/pod/Test::Fatal">Test::Fatal</a></dt>
<dd>

<p>Test exception-based code</p>

</dd>
<dt id="Test::Memory::Cycle"><a id="Test3"></a><a href="https://metacpan.org/pod/Test::Memory::Cycle">Test::Memory::Cycle</a></dt>
<dd>

<p>Check for memory leaks and circular memory references</p>

</dd>
<dt id="Test::Pod"><a id="Test4"></a><a href="https://metacpan.org/pod/Test::Pod">Test::Pod</a></dt>
<dd>

<p>Check for POD errors in files</p>

</dd>
<dt id="Test::Pod::Coverage"><a id="Test5"></a><a href="https://metacpan.org/pod/Test::Pod::Coverage">Test::Pod::Coverage</a></dt>
<dd>

<p>Check for pod coverage in your distribution.</p>

</dd>
<dt id="Test::Requires"><a id="Test6"></a><a href="https://metacpan.org/pod/Test::Requires">Test::Requires</a></dt>
<dd>

<p>Make running a test conditional on a particular module being installed</p>

</dd>
<dt id="Test::Simple"><a id="Test7"></a><a href="https://metacpan.org/pod/Test::Simple">Test::Simple</a></dt>
<dd>

<p>Basic utilities for writing tests.</p>

</dd>
<dt id="Test::Warnings"><a id="Test8"></a><a href="https://metacpan.org/pod/Test::Warnings">Test::Warnings</a></dt>
<dd>

<p>Test for warnings and the lack of them</p>

</dd>
</dl>

<h2 id="Task::Kensho::Toolchain:-Basic-Toolchain"><a id="Task14"></a><a href="https://metacpan.org/pod/Task::Kensho::Toolchain">Task::Kensho::Toolchain</a>: Basic Toolchain</h2>

<dl>

<dt id="App::FatPacker"><a id="App2"></a><a href="https://metacpan.org/pod/App::FatPacker">App::FatPacker</a></dt>
<dd>

<p>Pack your dependencies onto your script file</p>

</dd>
<dt id="App::cpanminus"><a id="App3"></a><a href="./App::cpanminus.html">App::cpanminus</a></dt>
<dd>

<p>Get, unpack, build and install modules from CPAN</p>

</dd>
<dt id="App::cpm"><a id="App4"></a><a href="https://metacpan.org/pod/App::cpm">App::cpm</a></dt>
<dd>

<p>a fast CPAN module installer</p>

</dd>
<dt id="App::perlbrew"><a id="App5"></a><a href="https://metacpan.org/pod/App::perlbrew">App::perlbrew</a></dt>
<dd>

<p>Manage perl installations in your $HOME</p>

</dd>
<dt id="CPAN::Mini"><a id="CPAN1"></a><a href="https://metacpan.org/pod/CPAN::Mini">CPAN::Mini</a></dt>
<dd>

<p>Create a minimal mirror of CPAN</p>

</dd>
<dt id="Carton"><a href="https://metacpan.org/pod/Carton">Carton</a></dt>
<dd>

<p>Perl module dependency manager (aka Bundler for Perl)</p>

</dd>
<dt id="Pinto"><a href="https://metacpan.org/pod/Pinto">Pinto</a></dt>
<dd>

<p>Curate a repository of Perl modules</p>

</dd>
<dt id="local::lib"><a id="local"></a><a href="./local::lib.html">local::lib</a></dt>
<dd>

<p>Create and use a local lib/ for perl modules with PERL5LIB</p>

</dd>
<dt id="version"><a href="https://metacpan.org/pod/version">version</a></dt>
<dd>

<p>Perl extension for Version Objects</p>

</dd>
</dl>

<h2 id="Task::Kensho::WebCrawling:-Web-Crawling"><a id="Task15"></a><a href="https://metacpan.org/pod/Task::Kensho::WebCrawling">Task::Kensho::WebCrawling</a>: Web Crawling</h2>

<dl>

<dt id="HTTP::Thin"><a id="HTTP"></a><a href="./HTTP::Thin.html">HTTP::Thin</a></dt>
<dd>

<p>A Thin Wrapper around HTTP::Tiny to play nice with HTTP::Message</p>

</dd>
<dt id="HTTP::Tiny"><a id="HTTP1"></a><a href="https://metacpan.org/pod/HTTP::Tiny">HTTP::Tiny</a></dt>
<dd>

<p>Lightweight HTTP client implementation</p>

</dd>
<dt id="LWP::Simple"><a id="LWP"></a><a href="https://metacpan.org/pod/LWP::Simple">LWP::Simple</a></dt>
<dd>

<p>Simple procedural interface to LWP</p>

</dd>
<dt id="LWP::UserAgent"><a id="LWP1"></a><a href="./LWP::UserAgent.html">LWP::UserAgent</a></dt>
<dd>

<p>Full-featured Web client library for Perl</p>

</dd>
<dt id="Mojo::UserAgent"><a id="Mojo1"></a><a href="./Mojo::UserAgent.html">Mojo::UserAgent</a></dt>
<dd>

<p>Non-blocking I/O HTTP and WebSocket user agent</p>

</dd>
<dt id="WWW::Mechanize"><a id="WWW"></a><a href="./WWW::Mechanize.html">WWW::Mechanize</a></dt>
<dd>

<p>Handy web browsing in a Perl object</p>

</dd>
<dt id="WWW::Mechanize::TreeBuilder"><a id="WWW1"></a><a href="https://metacpan.org/pod/WWW::Mechanize::TreeBuilder">WWW::Mechanize::TreeBuilder</a></dt>
<dd>

<p>This module combines WWW::Mechanize and HTML::TreeBuilder.</p>

</dd>
<dt id="WWW::Selenium"><a id="WWW2"></a><a href="https://metacpan.org/pod/WWW::Selenium">WWW::Selenium</a></dt>
<dd>

<p>Perl Client for the Selenium Remote Control test tool</p>

</dd>
</dl>

<h2 id="Task::Kensho::WebDev:-Web-Development"><a id="Task16"></a><a href="https://metacpan.org/pod/Task::Kensho::WebDev">Task::Kensho::WebDev</a>: Web Development</h2>

<dl>

<dt id="Attean"><a href="https://metacpan.org/pod/Attean">Attean</a></dt>
<dd>

<p>A Semantic Web Framework</p>

</dd>
<dt id="CGI::FormBuilder::Source::Perl"><a id="CGI"></a><a href="https://metacpan.org/pod/CGI::FormBuilder::Source::Perl">CGI::FormBuilder::Source::Perl</a></dt>
<dd>

<p>Build CGI::FormBuilder configs from Perl syntax files.</p>

</dd>
<dt id="Dancer2"><a href="Dancer2.html">Dancer2</a></dt>
<dd>

<p>the new generation of Dancer, a lightweight yet powerful web application framework</p>

</dd>
<dt id="HTML::FormHandler"><a id="HTML"></a><a href="https://metacpan.org/pod/HTML::FormHandler">HTML::FormHandler</a></dt>
<dd>

<p>HTML forms using Moose</p>

</dd>
<dt id="HTTP::BrowserDetect"><a id="HTTP2"></a><a href="https://metacpan.org/pod/HTTP::BrowserDetect">HTTP::BrowserDetect</a></dt>
<dd>

<p>Determine Web browser, version, and platform from an HTTP user agent string</p>

</dd>
<dt id="MIME::Types"><a id="MIME"></a><a href="https://metacpan.org/pod/MIME::Types">MIME::Types</a></dt>
<dd>

<p>Definition of MIME types</p>

</dd>
<dt id="Mojolicious"><a href="Mojolicious.html">Mojolicious</a></dt>
<dd>

<p>Real-time web framework</p>

</dd>
<dt id="Plack"><a href="Plack.html">Plack</a></dt>
<dd>

<p>Flexible superglue between Web Servers and Perl Web Frameworks or code.</p>

</dd>
<dt id="Task::Catalyst"><a id="Task17"></a><a href="https://metacpan.org/pod/Task::Catalyst">Task::Catalyst</a></dt>
<dd>

<p>Catalyst is The Elegant MVC Web Application Framework. Task::Catalyst is all you need to start with Catalyst.</p>

</dd>
<dt id="Template"><a href="Template.html">Template</a></dt>
<dd>

<p>(Template::Toolkit) Template Processing System</p>

</dd>
<dt id="Web::Simple"><a id="Web"></a><a href="./Web::Simple.html">Web::Simple</a></dt>
<dd>

<p>A quick and easy way to build simple web applications</p>

</dd>
<dt id="XML::Atom"><a id="XML"></a><a href="https://metacpan.org/pod/XML::Atom">XML::Atom</a></dt>
<dd>

<p>Atom feed and API implementation</p>

</dd>
<dt id="XML::RSS"><a id="XML1"></a><a href="https://metacpan.org/pod/XML::RSS">XML::RSS</a></dt>
<dd>

<p>Creates and updates RSS files</p>

</dd>
</dl>

<h2 id="Task::Kensho::XML:-XML-Development"><a id="Task18"></a><a href="https://metacpan.org/pod/Task::Kensho::XML">Task::Kensho::XML</a>: XML Development</h2>

<dl>

<dt id="XML::Generator::PerlData"><a id="XML2"></a><a href="https://metacpan.org/pod/XML::Generator::PerlData">XML::Generator::PerlData</a></dt>
<dd>

<p>Perl extension for generating SAX2 events from nested Perl data structures.</p>

</dd>
<dt id="XML::LibXML"><a id="XML3"></a><a href="./XML::LibXML.html">XML::LibXML</a></dt>
<dd>

<p>Perl Binding for libxml2</p>

</dd>
<dt id="XML::LibXSLT"><a id="XML4"></a><a href="https://metacpan.org/pod/XML::LibXSLT">XML::LibXSLT</a></dt>
<dd>

<p>Interface to the gnome libxslt library</p>

</dd>
<dt id="XML::SAX"><a id="XML5"></a><a href="https://metacpan.org/pod/XML::SAX">XML::SAX</a></dt>
<dd>

<p>Simple/Streaming API for XML</p>

</dd>
<dt id="XML::SAX::Writer"><a id="XML6"></a><a href="https://metacpan.org/pod/XML::SAX::Writer">XML::SAX::Writer</a></dt>
<dd>

<p>Output XML from SAX2 Events</p>

</dd>
</dl>

<h1 id="INSTALLING">INSTALLING</h1>

<p>Since version 0.34, <a href="./Task::Kensho.html">Task::Kensho</a> has made use of the <code>optional_features</code> field in distribution metadata. This allows CPAN clients to interact with you regarding which modules you wish to install.</p>

<p>The <code>cpanm</code> client requires interactive mode to be enabled for this to work:</p>

<pre><code>    cpanm --interactive Task::Kensho</code></pre>

<h1 id="LIMITATIONS">LIMITATIONS</h1>

<p>This list is by no means comprehensive of the &quot;Good&quot; Modules on CPAN. Nor is this necessarily the correct path for all developers. Each of these modules has a perfectly acceptable replacement that may work better for you. This is however a path to good perl practice, and a starting place on the road to Enlightened Perl programming.</p>

<h1 id="SEE-ALSO"><a id="SEE"></a>SEE ALSO</h1>

<p><a href="http://www.enlightenedperl.org/">http://www.enlightenedperl.org/</a>, <a href="https://metacpan.org/pod/Perl::Dist::Strawberry">Perl::Dist::Strawberry</a></p>

<h1 id="SUPPORT">SUPPORT</h1>

<p>Bugs may be submitted through <a href="https://github.com/EnlightenedPerlOrganisation/task-kensho/issues">https://github.com/EnlightenedPerlOrganisation/task-kensho/issues</a>.</p>

<p>There is also an irc channel available for users of this distribution, at <a href="irc://irc.perl.org/#epo"><code>#epo</code> on <code>irc.perl.org</code></a>.</p>

<h1 id="AUTHOR">AUTHOR</h1>

<p>Chris Prather &lt;chris@prather.org&gt;</p>

<h1 id="CONTRIBUTORS">CONTRIBUTORS</h1>

<ul>

<li><p>Karen Etheridge &lt;ether@cpan.org&gt;</p>

</li>
<li><p>Chris Nehren &lt;apeiron@cpan.org&gt;</p>

</li>
<li><p>Leo Lapworth &lt;leo@cuckoo.org&gt;</p>

</li>
<li><p>Dan Book &lt;grinnz@grinnz.com&gt;</p>

</li>
<li><p>Dan Book &lt;grinnz@gmail.com&gt;</p>

</li>
<li><p>Mohammad S Anwar &lt;mohammad.anwar@yahoo.com&gt;</p>

</li>
<li><p>Olaf Alders &lt;olaf@wundersolutions.com&gt;</p>

</li>
<li><p>Rachel Kelly &lt;rkellyalso@gmail.com&gt;</p>

</li>
<li><p>Shawn Sorichetti &lt;shawn@coloredblocks.com&gt;</p>

</li>
<li><p>Andrew Whatson &lt;whatson@gmail.com&gt;</p>

</li>
<li><p>Florian Ragwitz &lt;rafl@debian.org&gt;</p>

</li>
<li><p>Rick Leir &lt;rleir@leirtech.com&gt;</p>

</li>
<li><p>Tina M&uuml;ller &lt;cpan2@tinita.de&gt;</p>

</li>
</ul>

<h1 id="COPYRIGHT-AND-LICENCE"><a id="COPYRIGHT"></a>COPYRIGHT AND LICENCE</h1>

<p>This software is copyright (c) 2008 by Chris Prather.</p>

<p>This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.</p></div>

<div id="metacpan_install-instructions-dialog" class="modal fade">
  <div class="modal-dialog">
    <div class="modal-content">
      <div class="modal-header">
        <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
        <h4 class="modal-title">Module Install Instructions</h4>
      </div>
      <div class="modal-body">
        <p>To install Task::Kensho, copy and paste the appropriate command in to your terminal.</p>
        <p><a href="https://metacpan.org/dist/App-cpanminus/view/bin/cpanm">cpanm</a></p>
        <pre><code>cpanm Task::Kensho</code></pre>
        <p><a href="https://metacpan.org/pod/CPAN">CPAN shell</a></p>
        <pre><code>perl -MCPAN -e shell
install Task::Kensho</code></pre>
        <p>For more information on module installation, please visit <a href="https://www.cpan.org/modules/INSTALL.html">the detailed CPAN module installation guide</a>.</p>
      </div>
      <div class="modal-footer">
        <a href="./Task::Kensho.html#" data-dismiss="modal" class="btn">Close</a>
      </div>
    </div>
  </div>
</div>
          </main>
          <div class="content-pagination">
          </div>
        </div>
        <footer class="footer">
          <div class="footer-container">
            <div class="footer-social">
              <div class="footer-link footer-logo">
                <a href="https://metacpan.org/">
                  <img src="https://metacpan.org/static/images/metacpan-logo.svg" alt="MetaCPAN" />
                </a>
              </div>
              <a class="footer-social-link" href="https://github.com/metacpan">
                <i class="fab fa-github-square"></i>
              </a>
              <a class="footer-social-link" href="https://fosstodon.org/@metacpan">
                <i class="fab fa-mastodon"></i>
              </a>
            </div>
            <div class="footer-links">
              <div class="footer-link">
                  <a href="https://metacpan.org/about">About</a>
              </div>
              <div class="footer-link">
                  <a href="https://metacpan.org/about/sponsors">Sponsor</a>
              </div>
              <div class="footer-link">
                  <a href="https://grep.metacpan.org">grep::cpan</a>
              </div>
              <div class="footer-link">
                  <a href="https://metacpan.org/recent">Recent</a>
              </div>
              <div class="footer-link">
                  <a href="https://metacpan.org/about/faq">FAQ</a>
              </div>
              <div class="footer-link">
                  <a href="https://metacpan.org/tools">Tools</a>
              </div>
              <div class="footer-link">
                  <a href="https://fastapi.metacpan.org/">API</a>
              </div>
              <div class="footer-link">
                  <a href="https://www.perl.org/">Perl.org</a>
              </div>
            </div>
            <div class="footer-sponsors">
              <a class="footer-sponsor-link" target="_blank" href="https://www.bytemark.co.uk/" rel="noopener">
                <img class="footer-sponsor-bytemark" src="https://metacpan.org/static/images/sponsors/bytemark_logo.svg" alt="Bytemark logo">
              </a>
              <a class="footer-sponsor-link" target="_blank" href="https://www.liquidweb.com/" rel="noopener">
                <img class="footer-sponsor-liquidweb" src="https://metacpan.org/static/images/sponsors/liquidweb_logo.png" alt="liquidweb logo">
              </a>
              <a class="footer-sponsor-link" target="_blank" href="https://deriv.com/careers/" rel="noopener">
                <img class="footer-sponsor-deriv" src="https://metacpan.org/static/images/sponsors/deriv.svg" alt="Deriv logo">
              </a>
              <a class="footer-sponsor-link" target="_blank" href="https://geocode.xyz" rel="noopener">
                <img class="footer-sponsor-geocode" src="https://metacpan.org/static/images/sponsors/geocodelogo.svg" alt="Geocode logo">
              </a>
              <a class="footer-sponsor-link" target="_blank" href="https://www.fastly.com/" rel="noopener">
                <img class="footer-sponsor-fastly" src="https://metacpan.org/static/images/sponsors/fastly_logo.svg" alt="Fastly logo">
              </a>
              <a class="footer-sponsor-link" target="_blank" href="https://opencagedata.com" rel="noopener">
                <img class="footer-sponsor-opencage" src="https://metacpan.org/static/images/sponsors/open-cage.svg" alt="OpenCage logo">
              </a>
            </div>
          </div>
        </footer>
        <div class="modal fade" tabindex="-1" role="dialog" id="metacpan_keyboard-shortcuts">
          <div class="modal-dialog">
            <div class="modal-content">
              <div class="modal-header">
                <button type="button" class="close" data-dismiss="modal">&times;</button>
                <h4 class="modal-title">Keyboard Shortcuts</h4>
              </div>
              <div class="modal-body row">
<div class="col-md-6">
  <table class="table keyboard-shortcuts">
    <thead>
      <tr>
        <th></th>
        <th>Global</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td class="keys">
          <kbd>s</kbd>
        </td>
        <td>Focus search bar</td>
      </tr>
      <tr>
        <td class="keys">
          <kbd>?</kbd>
        </td>
        <td>Bring up this help dialog</td>
      </tr>
    </tbody>
  </table>

  <table class="table keyboard-shortcuts">
    <thead>
      <tr>
        <th></th>
        <th>GitHub</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td class="keys">
          <kbd>g</kbd> <kbd>p</kbd>
        </td>
        <td>Go to pull requests</td>
      </tr>
      <tr>
        <td class="keys">
          <kbd>g</kbd> <kbd>i</kbd>
        </td>
        <td>go to github issues (only if github is preferred repository)</td>
      </tr>
    </tbody>
  </table>
</div>

<div class="col-md-6">
  <table class="table keyboard-shortcuts">
    <thead>
      <tr>
        <th></th>
        <th>POD</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td class="keys">
          <kbd>g</kbd> <kbd>a</kbd>
        </td>
        <td>Go to author</td>
      </tr>
      <tr>
        <td class="keys">
          <kbd>g</kbd> <kbd>c</kbd>
        </td>
        <td>Go to changes</td>
      </tr>
      <tr>
        <td class="keys">
          <kbd>g</kbd> <kbd>i</kbd>
        </td>
        <td>Go to issues</td>
      </tr>
      <tr>
        <td class="keys">
          <kbd>g</kbd> <kbd>d</kbd>
        </td>
        <td>Go to dist</td>
      </tr>
      <tr>
        <td class="keys">
          <kbd>g</kbd> <kbd>r</kbd>
        </td>
        <td>Go to repository/SCM</td>
      </tr>
      <tr>
        <td class="keys">
          <kbd>g</kbd> <kbd>s</kbd>
        </td>
        <td>Go to source</td>
      </tr>
      <tr>
        <td class="keys">
          <kbd>g</kbd> <kbd>b</kbd>
        </td>
        <td>Go to file browse</td>
      </tr>

    </tbody>
  </table>
</div>

<div class="col-md-12">
  <table class="table keyboard-shortcuts">
    <thead>
      <tr>
        <th></th>
        <th>Search terms</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><em>module:</em> (e.g. <a href="https://metacpan.org/search?q=module%3APlugin">module:Plugin</a>)</td>
      </tr>
      <tr>
        <td><em>distribution:</em> (e.g. <a href="https://metacpan.org/search?q=distribution%3ADancer+auth">distribution:Dancer auth</a>)</td>
      </tr>
      <tr>
        <td><em>author:</em> (e.g. <a href="https://metacpan.org/search?q=author%3ASONGMU+Redis">author:SONGMU Redis</a>)</td>
      </tr>
      <tr>
        <td><em>version:</em> (e.g. <a href="https://metacpan.org/search?q=version%3A1.00">version:1.00</a>)</td>
      </tr>
    </tbody>
  </table>
</div>
              </div>
              <div class="modal-footer"></div>
            </div>
          </div>
        </div>
    </body>
</html>
